<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>
      Geodesics on an Ellipsoid
    </title>
    <meta name="description" content="Geodesic Problem" />
    <meta name="keywords"
	  content="geodesics,
		   direct geodesic problem,
		   inverse geodesic problem,
		   geodesic projections,
		   geodesic scale,
		   reduced length,
		   spheroidal trigonometry,
		   azimuthal equidistant projection,
		   Cassini-Soldner projection,
		   spheroidal gnomonic projection,
		   geodesic area,
		   triangulation,
		   maritime boundaries,
		   median line,
		   WGS84 ellipsoid" />
    <meta name="author" content="Charles F. F. Karney" />
  </head>
  <body topmargin=10 leftmargin=10>
    <h3>Geodesics on an Ellipsoid</h3>
    <p>
      This page is a web resource for the papers
      <blockquote>
	Charles F. F. Karney,<br>
	<a href="https://dx.doi.org/10.1007/s00190-012-0578-z">
	  <i>Algorithms for geodesics</i></a>,<br>
	J. Geodesy <b>87</b>(1), 43&ndash;55 (Jan. 2013);<br>
	DOI:
	<a href="https://dx.doi.org/10.1007/s00190-012-0578-z">
	  10.1007/s00190-012-0578-z</a>;
	<a href="https://dx.doi.org/10.1007/s00190-012-0578-z">pdf</a>,
	<a href="geod-addenda.html"><b>addenda</b></a>.<br>
	preprint
	<a href="http://arxiv.org/abs/1109.4448"> arXiv:1109.4448</a>,
	<a href="geod-addenda.html#geodalg-errata"><b>errata</b></a>.
	<br><br>
	Charles F. F. Karney,<br>
	<a href="http://arxiv.org/abs/1102.1215">
	  <i>Geodesics on an ellipsoid of revolution</i></a>,<br>
	Feb. 2011,
	<a href="http://arxiv.org/abs/1102.1215">arXiv:1102.1215</a>,
	<a href="http://arxiv.org/pdf/1102.1215">pdf</a>,
	<a href="geod-addenda.html#geod-errata"><b>errata</b></a>.
      </blockquote>
      The implementation of the algorithms in this paper are available
      as part of GeographicLib which is licensed under the
      <a href="http://www.opensource.org/licenses/MIT">MIT/X11 License</a>;
      see <a href="html/LICENSE.txt">LICENSE.txt</a> for the terms.
    </p>
    <ul>
      <li>
	<a href="index.html">GeographicLib home page</a>.
      <li>
	<a href="html">GeographicLib documentation</a>:
	<ul>
	  <li>
	    The C++ class
	    <a href="html/classGeographicLib_1_1Geodesic.html">
	      Geodesic</a>, which solves the direct and inverse geodesic
	    problems.
	  <li>
	    The C++ class
	    <a href="html/classGeographicLib_1_1GeodesicLine.html">
	      GeodesicLine</a>, which solves for points on a given geodesic.
	  <li>
	    Companion classes
	    <a href="html/classGeographicLib_1_1GeodesicExact.html">
	      GeodesicExact</a> and
	    <a href="html/classGeographicLib_1_1GeodesicLineExact.html">
	      GeodesicLineExact</a>, which implement the solution in
	      terms of elliptic integrals.
	  <li>
	    The C++ classes for geodesic projections:
	    <ul>
	      <li>
		<a href="html/classGeographicLib_1_1AzimuthalEquidistant.html">
		  AzimuthalEquidistant</a>,
	      <li>
		<a href="html/classGeographicLib_1_1CassiniSoldner.html">
		  CassiniSoldner</a>,
	      <li>
		<a href="html/classGeographicLib_1_1Gnomonic.html">
		  Gnomonic</a>.
	    </ul>
	  <li>
	    The command-line utility
	    <a href="html/GeodSolve.1.html">
	      GeodSolve</a>, for solving geodesic problems and an
	    <a href="cgi-bin/GeodSolve">
	      online geodesic calculator</a>.
	  <li>
	    The command-line utility
	    <a href="html/Planimeter.1.html">
	      Planimeter</a>, for measuring the area of geodesic
	      polygons and an
	    <a href="cgi-bin/Planimeter"> online planimeter</a>.
	  <li>
	    The command-line utility
	    <a href="html/GeodesicProj.1.html">
	      GeodesicProj</a>, for performing geodesic projections.
	  <li>
	    JavaScript tools for geodesic calculations,
	    <a href="scripts/geod-calc.html">geod-calc</a>, and for
	    displaying geodesics on Google Maps,
	    <a href="scripts/geod-google.html">geod-google</a>.
	  <li>
	    Transforming between geocentric and geodetic coordinates
	    using the method described in Appendix B of
	    <a href="http://arxiv.org/abs/1102.1215">
	      <i>Geodesics on an ellipsoid of revolution</i></a>:
	    <ul>
	      <li>
		the C++ class
		<a href="html/classGeographicLib_1_1Geocentric.html">
		  Geocentric</a>,
		for performing the transformation and its inverse;
	      <li>
		the utility
		<a href="html/CartConvert.1.html">
		  CartConvert</a>,
		which is a command-line interface to this class.
	    </ul>
	    <li>
	      GeographicLib also contains implementations of the
	      geodesic routines in
	      <a href="html/other.html">other languages</a>:
	      <ul>
		<li>Python:
		  <a href="http://pypi.python.org/pypi/geographiclib">
		    http://pypi.python.org/pypi/geographiclib</a>
		<li>JavaScript:
		  <a href="http://geographiclib.sf.net/scripts/geographiclib.js">
		    http://geographiclib.sf.net/scripts/geographiclib.js</a><br>
		  Examples: geodesic calculations,
		  <a href="scripts/geod-calc.html">geod-calc</a>;
		  displaying geodesics on Google Maps,
		  <a href="scripts/geod-google.html">geod-google</a>.
		<li>MATLAB/Octave:
		  <a href="http://www.mathworks.com/matlabcentral/fileexchange/39108">
		    File ID: 39108 (geodesics)</a>;
		  <a href="http://www.mathworks.com/matlabcentral/fileexchange/50605">
		    File ID: 50605 (geodesics + other components of
		    GeographicLib)</a>
		<li><a href="html/C/index.html">C</a>,
		  <a href="html/Fortran/index.html">Fortran</a>, and
		  <a href="html/java/index.html">Java</a>:
		  small self-contained libraries in
		  these languages are also part of the source
		  distribution of GeographicLib.
	      </ul>
	</ul>
      <li>
	<a href="https://sf.net/projects/geographiclib/files/distrib">
	  Download GeographicLib</a>
    </ul>
    <p>
      Additional material:
    </p>
    <ul>
      <li>
	<a href="html/geodesic.html">Supplementary documentation</a> on
	  geodesics on an ellipsoid of revolution.
      <li>
	Test set for the geodesic problem:
	<ul>
	  <li>
	    the
	    <a href="https://sf.net/projects/geographiclib/files/testdata/GeodTest.dat.gz/download">
	      data set</a>
	  <li>
	    <a href="html/geodesic.html#testgeod">
	      documentation</a> for the data set
	</ul>
      <li>
	<a href="https://dx.doi.org/10.1007/s00190-012-0578-z">
	  <i>Algorithms for geodesics</i></a>
	gives the series for geodesics accurate to 6th order.
	<ul>
	  <li>
	    <a href="html/geodesic.html#geodseries">
	      Series for geodesic calculations to 10th order</a>.
	  <li>
	    Series for geodesic calculations to 30th order:
	    <a href="html/geodseries30.html">geodseries30.html</a>.
	  <li>
	    Maxima code to generate the series for geodesics to arbitrary order:
	    <a href="html/geod.mac">geod.mac</a>.  There is brief
	    documentation at the top of the file.
	  <li>
	    <a href="http://maxima.sourceforge.net/">Download maxima</a>.
	</ul>
      <li>
	The formulation in terms of elliptic integrals used by
	<a href="html/classGeographicLib_1_1GeodesicExact.html">
	  GeodesicExact</a> and
	<a href="html/classGeographicLib_1_1GeodesicLineExact.html">
	  GeodesicLineExact</a>
	is given in Appendix D of
	<a href="http://arxiv.org/abs/1102.1215">
	  <i>Geodesics on an ellipsoid of revolution</i></a>.
	Further details are given in
	<a href="html/geodesic.html#geodellip">
	  Geodesics in terms of elliptic integrals</a>.
      <li>
	In some application it may be important to minimize round-off
	errors when taking the difference of two trigonometric sums.
	This may be accomplished by using
	<a href="html/rhumb.html#dividedclenshaw">
	  Clenshaw evaluation of differenced sums</a>.
      <li>
	Various ways that the distance along a meridian can be solved
	in terms of elliptic integrals are given in
	<a href="html/geodesic.html#meridian">
	  Parameters for the meridian</a>.
      <li>
	Some notes on solving the inverse geodesic problem in the case of 
	<a href="html/geodesic.html#geodshort">short geodesics</a>.
      <li>
	Some notes on geodesics on a <i>triaxial</i> ellipsoid are given
	in <a href="html/triaxial.html">Geodesics on a triaxial
	ellipsoid</a>.  This examines the solution to this problem found
	by Jacobi in 1839.
      <li>
	In the same paper, Jacobi gave a conformal projection for a
	triaxial ellipsoid.  This is expressed in terms of elliptic
	integrals in these notes on
	<a href="html/jacobi.html">
	  Jacobi's conformal projection</a>.
      <li>
	<a href="geodesic-papers/biblio.html">
	  An online geodesic bibliography</a>.
	This lists many papers treating geodesics on an ellipsoid and
	includes links to online versions of the papers.
      <li>
	Some <a href="geodesic-papers">scans</a> of geodesic papers.
      <li>
	Bessel's paper on geodesics: F. W. Bessel,
	<a href="https://dx.doi.org/10.1002/asna.201011352">
	  <i>The calculation of longitude and latitude
	  from geodesic measurements (1825)</i></a>,
	Astron. Nachr. <b>331</b>(8), 852&ndash;861 (Sept. 2010),
	translated by C. F. F. Karney and R. E. Deakin; preprint:
	<a href="http://arxiv.org/abs/0908.1824">arXiv:0908.1824</a>
	(<a href="bessel-errata.html"><b>errata</b></a>).
      <li>
	F. R. Helmert,
	<a href="geodesic-papers/helmert80-en.html">
	<i>Mathematical and Physical Theories of Higher Geodesy</i>,
	Vol. 1</a> and
	<a href="geodesic-papers/helmert84-en.html">
	Vol. 2</a>,
	English translation by Aeronautical Chart and Information Center
	(St. Louis, 1964).
      <li>
	The Wikipedia page,
	<a href="https://en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid">
	  Geodesics on an ellipsoid</a>.
    </ul>
    <hr>
    <address>Charles Karney
      <a href="mailto:charles@karney.com">&lt;charles@karney.com&gt;</a>
      (2015-05-14)</address>
    <br>
    <a href="http://geographiclib.sourceforge.net">
      GeographicLib home
    </a>
</body>
</html>
